var BMapLib = window.BMapLib = BMapLib || {};
var BMAP_DRAWING_MARKER = "marker",
	BMAP_DRAWING_POLYLINE = "polyline",
	BMAP_DRAWING_CIRCLE = "circle",
	BMAP_DRAWING_RECTANGLE = "rectangle",
	BMAP_DRAWING_POLYGON = "polygon";
(function() {
	var b = b || {
		guid: "$BAIDU$"
	};
	(function() {
		window[b.guid] = {};
		b.extend = function(i, g) {
			for (var h in g) {
				if (g.hasOwnProperty(h)) {
					i[h] = g[h]
				}
			}
			return i
		};
		b.lang = b.lang || {};
		b.lang.guid = function() {
			return "TANGRAM__" + (window[b.guid]._counter++).toString(36)
		};
		window[b.guid]._counter = window[b.guid]._counter || 1;
		window[b.guid]._instances = window[b.guid]._instances || {};
		b.lang.Class = function(g) {
			this.guid = g || b.lang.guid();
			window[b.guid]._instances[this.guid] = this
		};
		window[b.guid]._instances = window[b.guid]._instances || {};
		b.lang.isString = function(g) {
			return "[object String]" == Object.prototype.toString.call(g)
		};
		b.lang.isFunction = function(g) {
			return "[object Function]" == Object.prototype.toString.call(g)
		};
		b.lang.Class.prototype.toString = function() {
			return "[object " + (this._className || "Object") + "]"
		};
		b.lang.Class.prototype.dispose = function() {
			delete window[b.guid]._instances[this.guid];
			for (var g in this) {
				if (!b.lang.isFunction(this[g])) {
					delete this[g]
				}
			}
			this.disposed = true
		};
		b.lang.Event = function(g, h) {
			this.type = g;
			this.returnValue = true;
			this.target = h || null;
			this.currentTarget = null
		};
		b.lang.Class.prototype.addEventListener = function(j, i, h) {
			if (!b.lang.isFunction(i)) {
				return
			}!this.__listeners && (this.__listeners = {});
			var g = this.__listeners,
				k;
			if (typeof h == "string" && h) {
				if (/[^\w\-]/.test(h)) {
					throw ("nonstandard key:" + h)
				} else {
					i.hashCode = h;
					k = h
				}
			}
			j.indexOf("on") != 0 && (j = "on" + j);
			typeof g[j] != "object" && (g[j] = {});
			k = k || b.lang.guid();
			i.hashCode = k;
			g[j][k] = i
		};
		b.lang.Class.prototype.removeEventListener = function(i, h) {
			if (b.lang.isFunction(h)) {
				h = h.hashCode
			} else {
				if (!b.lang.isString(h)) {
					return
				}
			}!this.__listeners && (this.__listeners = {});
			i.indexOf("on") != 0 && (i = "on" + i);
			var g = this.__listeners;
			if (!g[i]) {
				return
			}
			g[i][h] && delete g[i][h]
		};
		b.lang.Class.prototype.dispatchEvent = function(k, g) {
			if (b.lang.isString(k)) {
				k = new b.lang.Event(k)
			}!this.__listeners && (this.__listeners = {});
			g = g || {};
			for (var j in g) {
				k[j] = g[j]
			}
			var j, h = this.__listeners,
				l = k.type;
			k.target = k.target || this;
			k.currentTarget = this;
			l.indexOf("on") != 0 && (l = "on" + l);
			b.lang.isFunction(this[l]) && this[l].apply(this, arguments);
			if (typeof h[l] == "object") {
				for (j in h[l]) {
					h[l][j].apply(this, arguments)
				}
			}
			return k.returnValue
		};
		b.lang.inherits = function(m, k, j) {
			var i, l, g = m.prototype,
				h = new Function();
			h.prototype = k.prototype;
			l = m.prototype = new h();
			for (i in g) {
				l[i] = g[i]
			}
			m.prototype.constructor = m;
			m.superClass = k.prototype;
			if ("string" == typeof j) {
				l._className = j
			}
		};
		b.dom = b.dom || {};
		b._g = b.dom._g = function(g) {
			if (b.lang.isString(g)) {
				return document.getElementById(g)
			}
			return g
		};
		b.g = b.dom.g = function(g) {
			if ("string" == typeof g || g instanceof String) {
				return document.getElementById(g)
			} else {
				if (g && g.nodeName && (g.nodeType == 1 || g.nodeType == 9)) {
					return g
				}
			}
			return null
		};
		b.insertHTML = b.dom.insertHTML = function(j, g, i) {
			j = b.dom.g(j);
			var h, k;
			if (j.insertAdjacentHTML) {
				j.insertAdjacentHTML(g, i)
			} else {
				h = j.ownerDocument.createRange();
				g = g.toUpperCase();
				if (g == "AFTERBEGIN" || g == "BEFOREEND") {
					h.selectNodeContents(j);
					h.collapse(g == "AFTERBEGIN")
				} else {
					k = g == "BEFOREBEGIN";
					h[k ? "setStartBefore" : "setEndAfter"](j);
					h.collapse(k)
				}
				h.insertNode(h.createContextualFragment(i))
			}
			return j
		};
		b.ac = b.dom.addClass = function(n, o) {
			n = b.dom.g(n);
			var h = o.split(/\s+/),
				g = n.className,
				m = " " + g + " ",
				k = 0,
				j = h.length;
			for (; k < j; k++) {
				if (m.indexOf(" " + h[k] + " ") < 0) {
					g += (g ? " " : "") + h[k]
				}
			}
			n.className = g;
			return n
		};
		b.event = b.event || {};
		b.event._listeners = b.event._listeners || [];
		b.on = b.event.on = function(h, k, m) {
			k = k.replace(/^on/i, "");
			h = b._g(h);
			var l = function(o) {
					m.call(h, o)
				},
				g = b.event._listeners,
				j = b.event._eventFilter,
				n, i = k;
			k = k.toLowerCase();
			if (j && j[k]) {
				n = j[k](h, k, l);
				i = n.type;
				l = n.listener
			}
			if (h.addEventListener) {
				h.addEventListener(i, l, false)
			} else {
				if (h.attachEvent) {
					h.attachEvent("on" + i, l)
				}
			}
			g[g.length] = [h, k, m, l, i];
			return h
		};
		b.un = b.event.un = function(i, l, h) {
			i = b._g(i);
			l = l.replace(/^on/i, "").toLowerCase();
			var o = b.event._listeners,
				j = o.length,
				k = !h,
				n, m, g;
			while (j--) {
				n = o[j];
				if (n[1] === l && n[0] === i && (k || n[2] === h)) {
					m = n[4];
					g = n[3];
					if (i.removeEventListener) {
						i.removeEventListener(m, g, false)
					} else {
						if (i.detachEvent) {
							i.detachEvent("on" + m, g)
						}
					}
					o.splice(j, 1)
				}
			}
			return i
		};
		b.getEvent = b.event.getEvent = function(g) {
			return window.event || g
		};
		b.getTarget = b.event.getTarget = function(g) {
			var g = b.getEvent(g);
			return g.target || g.srcElement
		};
		b.preventDefault = b.event.preventDefault = function(g) {
			var g = b.getEvent(g);
			if (g.preventDefault) {
				g.preventDefault()
			} else {
				g.returnValue = false
			}
		};
		b.stopBubble = b.event.stopBubble = function(g) {
			g = b.getEvent(g);
			g.stopPropagation ? g.stopPropagation() : g.cancelBubble = true
		};
		b.browser = b.browser || {};
		if (/msie (\d+\.\d)/i.test(navigator.userAgent)) {
			b.browser.ie = b.ie = document.documentMode || +RegExp["\x241"]
		}
	})();
	var d = BMapLib.DrawingManager = function(h, g) {
		if (!h) {
			return
		}
		c.push(this);
		g = g || {};
		this._initialize(h, g)
	};
	b.lang.inherits(d, b.lang.Class, "DrawingManager");
	d.prototype.open = function() {
		if (this._isOpen == true) {
			return true
		}
		f(this);
		this._open()
	};
	d.prototype.close = function() {
		if (this._isOpen == false) {
			return true
		}
		var g = this;
		this._close();
		setTimeout(function() {
			g._map.enableDoubleClickZoom()
		}, 2000)
	};
	d.prototype.setDrawingMode = function(g) {
		if (this._drawingType != g) {
			f(this);
			this._setDrawingMode(g)
		}
	};
	d.prototype.getDrawingMode = function() {
		return this._drawingType
	};
	d.prototype.enableCalculate = function() {
		this._enableCalculate = true;
		this._addGeoUtilsLibrary()
	};
	d.prototype.disableCalculate = function() {
		this._enableCalculate = false
	};
	d.prototype._initialize = function(h, g) {
		this._map = h;
		this._opts = g;
		this._drawingType = g.drawingMode || BMAP_DRAWING_MARKER;
		if (g.enableDrawingTool) {
			var i = new a(this, g.drawingToolOptions);
			this._drawingTool = i;
			h.addControl(i)
		}
		if (g.enableCalculate === true) {
			this.enableCalculate()
		} else {
			this.disableCalculate()
		}
		this._isOpen = !!(g.isOpen === true);
		if (this._isOpen) {
			this._open()
		}
		this.markerOptions = g.markerOptions || {};
		this.circleOptions = g.circleOptions || {};
		this.polylineOptions = g.polylineOptions || {};
		this.polygonOptions = g.polygonOptions || {};
		this.rectangleOptions = g.rectangleOptions || {};
		this.controlButton = g.controlButton == "right" ? "right" : "left"
	}, d.prototype._open = function() {
		this._isOpen = true;
		if (!this._mask) {
			this._mask = new e()
		}
		this._map.addOverlay(this._mask);
		this._setDrawingMode(this._drawingType)
	};
	d.prototype._setDrawingMode = function(g) {
		this._drawingType = g;
		if (this._isOpen) {
			this._mask.__listeners = {};
			switch (g) {
				case BMAP_DRAWING_MARKER:
					this._bindMarker();
					break;
				case BMAP_DRAWING_CIRCLE:
					this._bindCircle();
					break;
				case BMAP_DRAWING_POLYLINE:
				case BMAP_DRAWING_POLYGON:
					this._bindPolylineOrPolygon();
					break;
				case BMAP_DRAWING_RECTANGLE:
					this._bindRectangle();
					break
			}
		}
		if (this._drawingTool && this._isOpen) {
			this._drawingTool.setStyleByDrawingMode(g)
		}
	};
	d.prototype._close = function() {
		this._isOpen = false;
		if (this._mask) {
			this._map.removeOverlay(this._mask)
		}
		if (this._drawingTool) {
			this._drawingTool.setStyleByDrawingMode("hander")
		}
	};
	d.prototype._bindMarker = function() {
		var i = this,
			j = this._map,
			h = this._mask;
		var g = function(l) {
			var k = new BMap.Marker(l.point, i.markerOptions);
			j.addOverlay(k);
			i._dispatchOverlayComplete(k)
		};
		h.addEventListener("click", g)
	};
	d.prototype._bindCircle = function() {
		var m = this,
			h = this._map,
			o = this._mask,
			i = null,
			k = null;
		var j = function(p) {
			if (m.controlButton == "right" && (p.button == 1 || p.button == 0)) {
				return
			}
			k = p.point;
			i = new BMap.Circle(k, 0, m.circleOptions);
			h.addOverlay(i);
			o.enableEdgeMove();
			o.addEventListener("mousemove", n);
			b.on(document, "mouseup", l)
		};
		var n = function(p) {
			i.setRadius(m._map.getDistance(k, p.point))
		};
		var l = function(q) {
			var p = m._calculate(i, q.point);
			m._dispatchOverlayComplete(i, p);
			k = null;
			o.disableEdgeMove();
			o.removeEventListener("mousemove", n);
			b.un(document, "mouseup", l)
		};
		var g = function(p) {
			b.preventDefault(p);
			b.stopBubble(p);
			if (m.controlButton == "right" && p.button == 1) {
				return
			}
			if (k == null) {
				j(p)
			}
		};
		o.addEventListener("mousedown", g)
	};
	d.prototype._bindPolylineOrPolygon = function() {
		var k = this,
			m = this._map,
			h = this._mask,
			j = [],
			n = null;
		overlay = null, isBinded = false;
		var l = function(o) {
			if (k.controlButton == "right" && (o.button == 1 || o.button == 0)) {
				return
			}
			j.push(o.point);
			n = j.concat(j[j.length - 1]);
			if (j.length == 1) {
				if (k._drawingType == BMAP_DRAWING_POLYLINE) {
					overlay = new BMap.Polyline(n, k.polylineOptions)
				} else {
					if (k._drawingType == BMAP_DRAWING_POLYGON) {
						overlay = new BMap.Polygon(n, k.polygonOptions)
					}
				}
				m.addOverlay(overlay)
			} else {
				overlay.setPath(n)
			} if (!isBinded) {
				isBinded = true;
				h.enableEdgeMove();
				h.addEventListener("mousemove", i);
				h.addEventListener("dblclick", g)
			}
		};
		var i = function(o) {
			overlay.setPositionAt(n.length - 1, o.point)
		};
		var g = function(p) {
			b.stopBubble(p);
			isBinded = false;
			h.disableEdgeMove();
			h.removeEventListener("mousedown", l);
			h.removeEventListener("mousemove", i);
			h.removeEventListener("dblclick", g);
			if (k.controlButton == "right") {
				j.push(p.point)
			} else {
				if (b.ie <= 8) {} else {
					j.pop()
				}
			}
			overlay.setPath(j);
			var o = k._calculate(overlay, j.pop());
			k._dispatchOverlayComplete(overlay, o);
			j.length = 0;
			n.length = 0;
			k.close()
		};
		h.addEventListener("mousedown", l);
		h.addEventListener("dblclick", function(o) {
			b.stopBubble(o)
		})
	};
	d.prototype._bindRectangle = function() {
		var k = this,
			n = this._map,
			h = this._mask,
			i = null,
			j = null;
		var m = function(p) {
			b.stopBubble(p);
			b.preventDefault(p);
			if (k.controlButton == "right" && (p.button == 1 || p.button == 0)) {
				return
			}
			j = p.point;
			var o = j;
			i = new BMap.Polygon(k._getRectanglePoint(j, o), k.rectangleOptions);
			n.addOverlay(i);
			h.enableEdgeMove();
			h.addEventListener("mousemove", l);
			b.on(document, "mouseup", g)
		};
		var l = function(o) {
			i.setPath(k._getRectanglePoint(j, o.point))
		};
		var g = function(p) {
			var o = k._calculate(i, i.getPath()[2]);
			k._dispatchOverlayComplete(i, o);
			j = null;
			h.disableEdgeMove();
			h.removeEventListener("mousemove", l);
			b.un(document, "mouseup", g)
		};
		h.addEventListener("mousedown", m)
	};
	d.prototype._calculate = function(j, i) {
		var h = {
			data: 0,
			label: null
		};
		if (this._enableCalculate && BMapLib.GeoUtils) {
			var k = j.toString();
			switch (k) {
				case "[object Polyline]":
					h.data = BMapLib.GeoUtils.getPolylineDistance(j);
					break;
				case "[object Polygon]":
					h.data = BMapLib.GeoUtils.getPolygonArea(j);
					break;
				case "[object Circle]":
					var g = j.getRadius();
					h.data = Math.PI * g * g;
					break
			}
			if (!h.data || h.data < 0) {
				h.data = 0
			} else {
				h.data = h.data.toFixed(2)
			}
			h.label = this._addLabel(i, h.data)
		}
		return h
	};
	d.prototype._addGeoUtilsLibrary = function() {
		if (!BMapLib.GeoUtils) {
			var g = document.createElement("script");
			g.setAttribute("type", "text/javascript");
			g.setAttribute("src", "http://api.map.baidu.com/library/GeoUtils/1.2/src/GeoUtils_min.js");
			document.body.appendChild(g)
		}
	};
	d.prototype._addLabel = function(g, i) {
		var h = new BMap.Label(i, {
			position: g
		});
		this._map.addOverlay(h);
		return h
	};
	d.prototype._getRectanglePoint = function(h, g) {
		/*if(h == null){
			return;
			alert('1');
		}
		if(g == null){
			return;
			alert('2');
		}
		if(h.lng == null || h.lat == null){
			alert('a');
		}
		if(g.lng == null || g.lat == null){
			alert('b');
		}*/
		return [new BMap.Point(h.lng, h.lat), new BMap.Point(g.lng, h.lat), new BMap.Point(g.lng, g.lat), new BMap.Point(h.lng, g.lat)]
	};
	d.prototype._dispatchOverlayComplete = function(h, i) {
		var g = {
			"overlay": h,
			"drawingMode": this._drawingType
		};
		if (i) {
			g.calculate = i.data || null;
			g.label = i.label || null
		}
		this.dispatchEvent(this._drawingType + "complete", h);
		this.dispatchEvent("overlaycomplete", g)
	};

	function e() {
		this._enableEdgeMove = false
	}
	e.prototype = new BMap.Overlay();
	e.prototype.dispatchEvent = b.lang.Class.prototype.dispatchEvent;
	e.prototype.addEventListener = b.lang.Class.prototype.addEventListener;
	e.prototype.removeEventListener = b.lang.Class.prototype.removeEventListener;
	e.prototype.initialize = function(i) {
		var h = this;
		this._map = i;
		var j = this.container = document.createElement("div");
		var g = this._map.getSize();
		j.style.cssText = "position:absolute;background:url(about:blank);cursor:crosshair;width:" + g.width + "px;height:" + g.height + "px";
		this._map.addEventListener("resize", function(k) {
			h._adjustSize(k.size)
		});
		this._map.getPanes().floatPane.appendChild(j);
		this._bind();
		return j
	};
	e.prototype.draw = function() {
		var i = this._map,
			g = i.pixelToPoint(new BMap.Pixel(0, 0)),
			h = i.pointToOverlayPixel(g);
		this.container.style.left = h.x + "px";
		this.container.style.top = h.y + "px"
	};
	e.prototype.enableEdgeMove = function() {
		this._enableEdgeMove = true
	};
	e.prototype.disableEdgeMove = function() {
		clearInterval(this._edgeMoveTimer);
		this._enableEdgeMove = false
	};
	e.prototype._bind = function() {
		var l = this,
			g = this._map,
			h = this.container,
			m = null,
			n = null;
		var k = function(p) {
			return {
				x: p.clientX,
				y: p.clientY
			}
		};
		var j = function(r) {
			var q = r.type;
			r = b.getEvent(r);
			point = l.getDrawPoint(r);
			var s = function(t) {
				r.point = point;
				l.dispatchEvent(r)
			};
			if (q == "mousedown") {
				m = k(r)
			}
			var p = k(r);
			if (q == "click") {
				if (Math.abs(p.x - m.x) < 5 && Math.abs(p.y - m.y) < 5) {
					if (!n || !(Math.abs(p.x - n.x) < 5 && Math.abs(p.y - n.y) < 5)) {
						s("click");
						n = k(r)
					} else {
						n = null
					}
				}
			} else {
				s(q)
			}
		};
		var o = ["click", "mousedown", "mousemove", "mouseup", "dblclick"],
			i = o.length;
		while (i--) {
			b.on(h, o[i], j)
		}
		b.on(h, "mousemove", function(p) {
			if (l._enableEdgeMove) {
				l.mousemoveAction(p)
			}
		})
	};
	e.prototype.mousemoveAction = function(n) {
		function g(s) {
			var r = s.clientX,
				q = s.clientY;
			if (s.changedTouches) {
				r = s.changedTouches[0].clientX;
				q = s.changedTouches[0].clientY
			}
			return new BMap.Pixel(r, q)
		}
		var h = this._map,
			o = this,
			i = h.pointToPixel(this.getDrawPoint(n)),
			k = g(n),
			l = k.x - i.x,
			j = k.y - i.y;
		i = new BMap.Pixel((k.x - l), (k.y - j));
		this._draggingMovePixel = i;
		var p = h.pixelToPoint(i),
			m = {
				pixel: i,
				point: p
			};
		this._panByX = this._panByY = 0;
		if (i.x <= 20 || i.x >= h.width - 20 || i.y <= 50 || i.y >= h.height - 10) {
			if (i.x <= 20) {
				this._panByX = 8
			} else {
				if (i.x >= h.width - 20) {
					this._panByX = -8
				}
			} if (i.y <= 50) {
				this._panByY = 8
			} else {
				if (i.y >= h.height - 10) {
					this._panByY = -8
				}
			} if (!this._edgeMoveTimer) {
				this._edgeMoveTimer = setInterval(function() {
					h.panBy(o._panByX, o._panByY, {
						"noAnimation": true
					})
				}, 30)
			}
		} else {
			if (this._edgeMoveTimer) {
				clearInterval(this._edgeMoveTimer);
				this._edgeMoveTimer = null
			}
		}
	};
	e.prototype._adjustSize = function(g) {
		this.container.style.width = g.width + "px";
		this.container.style.height = g.height + "px"
	};
	e.prototype.getDrawPoint = function(l) {
		var k = this._map,
			j = b.getTarget(l),
			h = l.offsetX || l.layerX || 0,
			m = l.offsetY || l.layerY || 0;
		if (j.nodeType != 1) {
			j = j.parentNode
		}
		while (j && j != k.getContainer()) {
			if (!(j.clientWidth == 0 && j.clientHeight == 0 && j.offsetParent && j.offsetParent.nodeName == "TD")) {
				h += j.offsetLeft || 0;
				m += j.offsetTop || 0
			}
			j = j.offsetParent
		}
		var i = new BMap.Pixel(h, m);
		var g = k.pixelToPoint(i);
		return g
	};

	function a(h, g) {
		this.drawingManager = h;
		g = this.drawingToolOptions = g || {};
		this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT;
		this.defaultOffset = new BMap.Size(10, 10);
		this.defaultDrawingModes = [BMAP_DRAWING_MARKER, BMAP_DRAWING_CIRCLE, BMAP_DRAWING_POLYLINE, BMAP_DRAWING_POLYGON,BMAP_DRAWING_RECTANGLE];
		if (g.drawingModes) {
			this.drawingModes = g.drawingModes
		} else {
			this.drawingModes = this.defaultDrawingModes
		} if (g.anchor) {
			this.setAnchor(g.anchor)
		}
		if (g.offset) {
			this.setOffset(g.offset)
		}
	}
	a.prototype = new BMap.Control();
	a.prototype.initialize = function(i) {
		var h = this.container = document.createElement("div");
		h.className = "BMapLib_Drawing";
		var g = this.panel = document.createElement("div");
		g.className = "BMapLib_Drawing_panel";
		if (this.drawingToolOptions && this.drawingToolOptions.scale) {
			this._setScale(this.drawingToolOptions.scale)
		}
		h.appendChild(g);
		g.innerHTML = this._generalHtml();
		this._bind(g);
		i.getContainer().appendChild(h);
		return h
	};
	a.prototype._generalHtml = function(m) {
		var h = {};
		h["hander"] = "拖动地图";
		h[BMAP_DRAWING_MARKER] = "画点";
		h[BMAP_DRAWING_CIRCLE] = "画圆";
		h[BMAP_DRAWING_POLYLINE] = "画折线";
		h[BMAP_DRAWING_POLYGON] = "画多边形";
		h[BMAP_DRAWING_RECTANGLE] = "圈定地点";
		var n = function(o, i) {
			return '<a class="' + o + '" drawingType="' + i + '" href="javascript:void(0)" title="' + h[i] + '" onfocus="this.blur()"></a>'
		};
		var k = [];
		k.push(n("BMapLib_box BMapLib_hander", "hander"));
		for (var j = 0, g = this.drawingModes.length; j < g; j++) {
			var l = "BMapLib_box BMapLib_" + this.drawingModes[j];
			if (j == g - 1) {
				l += " BMapLib_last"
			}
			k.push(n(l, this.drawingModes[j]))
		}
		return k.join("")
	};
	a.prototype._setScale = function(j) {
		var i = 390,
			g = 50,
			k = -parseInt((i - i * j) / 2, 10),
			h = -parseInt((g - g * j) / 2, 10);
		this.container.style.cssText = ["-moz-transform: scale(" + j + ");", "-o-transform: scale(" + j + ");", "-webkit-transform: scale(" + j + ");", "transform: scale(" + j + ");", "margin-left:" + k + "px;", "margin-top:" + h + "px;", "*margin-left:0px;", "*margin-top:0px;", "margin-left:0px\\0;", "margin-top:0px\\0;", "filter: progid:DXImageTransform.Microsoft.Matrix(", "M11=" + j + ",", "M12=0,", "M21=0,", "M22=" + j + ",", "SizingMethod='auto expand');"].join("")
	};
	a.prototype._bind = function(g) {
		var h = this;
		b.on(this.panel, "click", function(k) {
			var j = b.getTarget(k);
			var i = j.getAttribute("drawingType");
			h.setStyleByDrawingMode(i);
			h._bindEventByDraingMode(i)
		})
	};
	a.prototype.setStyleByDrawingMode = function(h) {
		if (!h) {
			return
		}
		var j = this.panel.getElementsByTagName("a");
		for (var k = 0, g = j.length; k < g; k++) {
			var m = j[k];
			if (m.getAttribute("drawingType") == h) {
				var l = "BMapLib_box BMapLib_" + h + "_hover";
				if (k == g - 1) {
					l += " BMapLib_last"
				}
				m.className = l
			} else {
				m.className = m.className.replace(/_hover/, "")
			}
		}
	};
	a.prototype._bindEventByDraingMode = function(g) {
		var i = this;
		var h = this.drawingManager;
		if (g == "hander") {
			h.close();
			h._map.enableDoubleClickZoom()
		} else {
			h.setDrawingMode(g);
			h.open();
			h._map.disableDoubleClickZoom()
		}
	};
	var c = [];

	function f(g) {
		var h = c.length;
		while (h--) {
			if (c[h] != g) {
				c[h].close()
			}
		}
	}
})();